#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<errno.h>
#include<unistd.h>
#include<sys/msg.h>

struct my_msg_st {
	long int my_msg_type;
	char some_text [BUFSIZ];	
	
};

int main(){
	int running = 1;
	int msgid;
	struct my_msg_st some_data;
	char buffer[BUFSIZ];
	
	msgid=msgget((key_t)1234 , 0666 | IPC_CREAT);
	if(msgid < 0){
		fprintf(stderr , " msgget failed with errpr: %d \n ",errno);
		exit(EXIT_FAILURE);
	}
	
	while(running){
			printf("Enter some text :\n" );
			fgets(buffer ,BUFSIZ, stdin );
			some_data.my_msg_type = 1;
			strcpy(some_data.some_text , buffer);
				
			if( msgsnd( msgid , (void *)&some_data ,BUFSIZ , 0)== -1){
				fprintf(stderr , " msgsnd failed with errpr: %d \n ",errno);
				exit(EXIT_FAILURE);				
			}	

			if( strncmp (some_data.some_text,"end",3 ) ==0){
				running = 0;
			}				
	}
	exit(0);

}

